import { defineStore } from 'pinia'

// 定义 store
const useCounterStore = defineStore('counter', {
  // 类似于组件中的 data
  state() {
    return {
      count: 5, // 计数数量
    }
  },
  // getters，类似于组件中的 computed
  getters: {
    doubleCount(state) {
      return state.count * 2
    },
  },
  // actions，业务逻辑，类似于组件中的 methods
  actions: {
    // 计数加
    add() {
      this.count += 1
    },
    // 计数减
    minus() {
      this.count -= 1
    },
    // 异步加操作
    asyncAdd() {
      setTimeout(() => {
        this.count += 5
      }, 2000)
    }
  },
})

export default useCounterStore
